Hand-held scanning devices are portable imaging devices that generate machine-readable image data (sometimes referred to herein simply as image data) representing an image of an object. Generating image data representative of an object is sometimes referred to as "imaging" or "scanning" the object. Some scanning devices generate image data representing a narrow "scan line" portion of the object being imaged. During the imaging process, the scanning device is moved relative to the object being imaged. As the scanning device is moved relative to the object, the scanning device generates image data representing a plurality of sequential scan line portions of the image of the object. The image of the object is, accordingly, represented by the image data of the cumulation of sequential scan lines similar to the image of the object represented by a conventional video display.
The image of the scan line portion of the object is focused onto a linear array of photodetector elements (sometimes referred to herein simply as photodetectors). The photodetectors may, as an example, be mounted to a plurality of linearly arranged electronic segments such as contact image sensors as are known in the art. The photodetectors may also be etched into a single semiconductor as is common in a charge-coupled device. The individual photodetectors generate image data representing discrete portions of the image of the scan line portion of the object. The image data may, as an example, be voltages wherein a relatively high voltage represents a relatively high intensity of light received by a photodetector and a relatively low voltage represents a relatively low light intensity received by a photodetector.
The image data generated by the photodetectors is transmitted to a processor. One of the functions of the processor is to create a data base or similar electronic structure that indicates the positions of the scan lines relative to the positions on the object from where the scan lines were generated. Alternatively, the data base may indicate the locations of the scan lines relative to each other. The data stored in the data base and the image data are used by the processor to replicate the image of the object. As an example, in the situation where the scanning device is generating image data representing a two-dimensional object, such as text located on a sheet of paper, the hand-held scanning device may be moved in any direction on the paper. Accordingly, the scan line portions may be generated from virtually any location on the paper, which leads to the image data representing the image of the object consisting of a plurality of scan line portions that may be skewed over the surface of the object. In order to accurately replicate the image of the object, the hand held scanning device uses the data stored in the data base to determine the proper placement of the scan line portions of the image of the object. The processor may then create an electronic image of the object by known processing techniques, e.g., stitching software.
A problem replicating the image of the object may be encountered if the velocity or position of the scanning device relative to the object becomes unknown during the scanning process. For example, if the scanning device is imaging one thousand scan line portions of the image of the object per second and the scanning device is moving along a single axis at a constant rate of one inch per second relative to the object, each scan line represents one one-thousandth of an inch of the image of the object. If the correct velocity of the scanning device relative to the object has been conveyed to the processor, the processor will create a data base indicating that each scan line represents one one-thousandth of and inch of the image of the object. Alternatively, the processor will indicate that each scan line is located one one-thousandth of an inch from an adjacent scan line. Based on the image data and the data stored in the data base, the processor may accurately replicate the image of the object. If, however, the velocity of the scanning device relative to the object is decreased and the decreased velocity is not conveyed to the processor, the processor will continue to process the image data as though each scan line represents one one-thousandth of an inch of the object. Each scan line, however, will represent less than one one-thousandth of an inch of the object. Accordingly, the image of the object will be compressed. If, on the other hand, the velocity of the scanning device relative to the object is increased and the increased velocity is not conveyed to the processor, the image of the object will be expanded.
Accurately replicating an image of an object when either the velocity or position of the scanning device relative to the object becomes unknown is impossible. If the position or velocity is not known, the processor will not know where the scanning device is located relative to the object as the scan lines are being generated. Accordingly, the processor will not be able to properly place the scan line portions relative to each other so as to accurately replicate the image of the object. This problem is exacerbated in hand-held scanning devices where the scan lines may be generated from anywhere on the object and are often skewed over the surface of the object.
In order to overcome these problems, scanning devices use position sensors to detect the position of the scanning device relative to the object. The position sensors output position information pertaining to the position of the scanning device relative to the object as the scan line portions of the image of the object are being generated. This position information is conveyed to the processor where it is incorporated into the above-described data base.
Some scanning devices use roller mechanisms to generate information pertaining to the position of the scanning device relative to the object. This position information is processed to determine where, in relation to the surface of the object, the scan lines were generated. The roller mechanism contacts the object and rotates as the scanning device is moved relative to the object. The scanning device measures the rotation of the roller mechanism to determine the position of the scanning device relative to the object. Roller mechanisms, however, do not provide a direct measurement of the position of the scanning device relative to the object. Instead, the position measurement is derived from the rotation of the roller mechanism, which may add inaccuracies to the position measurement. Furthermore, the roller mechanism relies on friction between the roller mechanism and the object in order to maintain rotation. If the friction is decreased for any reason, the roller mechanism may slip rather than rotate, which will cause the position measurement and, accordingly, the image represented by the image data to be inaccurate.
The roller mechanisms need to contact the object so that they do not interfere with the scanning device as it is generating image data. The roller mechanisms, thus, increase the size of the scanning device beyond the size required to generate image data. This increased size is detrimental to hand-held scanners, because it makes them more cumbersome to use.
Other scanning devices have an optical sensor affixed to the scanning device to determine the position of the scanning device relative to the object being scanned. The optical sensor periodically generates image data from a small two-dimensional area of the object being scanned. A processor receives this image data and identifies distinct features on the object. In the example where the object is text printed on a sheet of paper, the distinct features may be inherent irregularities in the surface of the paper. The positions of these distinct features relative to the optical sensor are stored in a memory device. As the scanning device is moved relative to the object, the positions of these distinct features move relative to the optical sensor. The processor compares the new positions of these distinct features to the positions stored in the memory device. Based on these comparisons, the processor is able to determine the position, direction of movement, and velocity of the scanning device to which the optical sensor is affixed relative to the object. Accordingly, the processor is able to create the above-described data base because the locations of the scan line portions of the image of the object relative to each other may be readily determined.
Some scanning devices may have several of these two-dimensional optical sensors located at fixed locations relative to the linear array of photodetectors. In some scanning devices, an optical sensor is spaced a distance from each end of the linear array of photodetectors. These locations of the optical sensors present problems when a user operates the scanning device in the vicinity of the edge of the object, i.e., the user images text near the edge of a sheet of paper. As the linear array of photodetectors images the edge of the paper, the optical sensor nearest the edge of the paper may inadvertently be moved off the paper and onto another surface that supports the paper, e.g., a desk top. If the optical sensor is unable to detect distinct features on the other surface or if the paper moves relative to the other surface, the processor will not know the position of the scanning device relative to the paper. Accordingly, the text on the paper will not be able to be replicated by the processor. This placement of the optical sensors has another disadvantage because it increases the length of the scanning device by the distance the optical sensors are spaced from each end of the linear array of photodetectors. This increased length of the scanning device is inherently detrimental to a hand-held scanning device.
Some other scanning devices space the optical sensors a distance above or below the linear array of photodetectors. This location of the optical sensors causes the width of the hand-held scanning device to be increased, which, as with the increased length of a hand-held scanning device, is inherently detrimental. The wider hand-held scanning device also presents a problem because a user may not know where on the object the scan line portions are being generated. As an example, a user scanning a page of text may not properly position the scanning device relative to the text and may inadvertently not image a portion of the text. An additional problem, as described above, may be encountered if the optical sensors are moved off the page and onto another surface. As with the above-described scanning device, the optical sensors may not be able to detect distinct features on this surface, which will cause errors when the image data is processed. Specifically, the positions of the scan lines will not be accurately determined, which will cause errors when the processor attempts to replicate the image of the page.
Therefore, a need exists for a hand-held scanning device that is able to directly determine its position relative to an object being imaged wherein the size of the scanning device is minimized.